iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
AI & Data

AI初學者入門系列 第 20

Day20向量壓縮與 ANN 搜尋

  • 分享至 

  • xImage
  •  

在人工智慧應用中,向量檢索扮演著連結查詢與知識的關鍵角色,其中的核心挑戰都是如何在龐大的資料中快速找到相關內容。傳統的暴力搜尋雖然能保證精確,計算成本太高,所以出現 ANN(Approximate Nearest Neighbor, 近似最近鄰搜尋) 技術:透過近似方法,在保持高召回率的前提下,將檢索速度從數秒縮短至毫秒級。除了需要依賴索引結構的設計,還必須結合向量壓縮與量化技術,才能同時滿足速度、精準與資源利用率。

在向量檢索中,完整的 ANN 系統通常包含兩大區域

1. 索引(Indexing):

ANN 的加速來自於索引。它的目標是避免對資料庫中的每一筆向量進行計算,而是透過快速鎖定一小部分集合。
其中最具代表性的演算法包括:

  • HNSW(Hierarchical Navigable Small World Graph):
    透過建立多層次的小世界網路,讓查詢能夠從高層快速跳躍到低層,逐步靠近最相關的節點。HNSW優點為高精度和低延遲,特別適合需要即時回應的應用場景,例如聊天機器人或即時推薦。
  • IVF(Inverted File Index):
    將所有向量透過 K-means 聚類劃分為多個clusters,查詢時僅進入最相關的幾個clusters進行比對。這種方法在處理超大規模靜態資料庫時表現優異,廣泛應用於圖片搜尋與影片檢索。

2. 壓縮(Compression):

除了縮小搜尋範圍,當資料規模達到數十億筆時,即使候選集合只有數萬個向量,計算與儲存的成本仍然高昂,這時就需要向量壓縮與量化。

  • PQ(Product Quantization):
    將高維向量切分為多個子向量,並為每個子向量建立碼本,以最接近的碼字進行近似表示。這種方式不僅能將 32 位元的浮點數壓縮成僅需幾個位元的表示,還能透過查表方式加速距離計算。

精確搜尋 與 ANN 搜尋 的差異

精確搜尋的原理非常直接:對於每一個查詢向量,逐一計算它與資料庫中所有向量的距離(例如: 餘弦相似度、歐式距離或內積),再從中找出最近的 K 個。保證完全正確,但速度極慢
但ANN精度略低於精確搜尋,卻能換來百倍以上的效能提升,對實務應用已足夠。

應用

  • 搜尋引擎(Google 圖片找相似圖片)
  • 推薦系統(Netflix 推薦)
  • 聊天機器人/RAG(用向量檢索找到最相關的文件)
  • 聲音/影片比對(音樂辨識)

上一篇
Day19 LoRA(Low-Rank Adaptation)
下一篇
Day21 MoE(Mixture of Experts)
系列文
AI初學者入門30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言